#include <stdio.h>
#include <stdlib.h>

void main(void)
{
    // restrict 说明符
    // 声明指针变量时，可以使用restrict说明符，告诉编译器，该块内存区域只有当前指针一种访问方式，
    // 其他指针不能读写该块内存。这种指针称为“受限指针”（restrict pointer）。
    int *restrict p;
    p = malloc(sizeof(int));

    int *q = p;
    *q = 0; // 未定义行为
    printf("%p\n", q);
    // restrict 会让编译器在更激进
    // 如果你用 restrict，就不要通过其他指针访问那块内存；否则就别用 restrict

}